package com.wangshouyu.mp.qrcode;

import com.wangshouyu.mp.base.constant.UrlConstant;
import com.wangshouyu.mp.base.request.MpClient;
import com.wangshouyu.mp.base.request.RequestBody;
import com.wangshouyu.mp.utils.GsonUtils;

import java.text.MessageFormat;

import static com.wangshouyu.mp.base.request.HttpMethod.POST;

/**
 * @author 王守钰
 * @date 2021年01月23日 13:38
 * @description 二维码处理器
 */
public class QrCodeHandler {

    private QrCodeHandler() {
    }

    /**
     * 生成二维码
     * @param client
     * @param qrCode
     * @param accessToken
     * @return
     */
    public static QrCodeResponse gen(MpClient client, QrCode qrCode, String accessToken){
        String requestUrl = MessageFormat.format(UrlConstant.GET_QRCODE_URL, accessToken);
        return client.request(
                POST,
                requestUrl,
                RequestBody.create(GsonUtils.toJson(qrCode)),
                QrCodeResponse.class
        );
    }

    /**
     * 二维码展示地址
     * @param ticket 认证票据
     * @return
     */
    public static String qrcodeUrl(String ticket){
        return MessageFormat.format(UrlConstant.SHOW_QRCODE_URL, ticket);
    }

}
